User loginNavigation |
Col--an O'Caml syntax extension for easier manipulation of flat records, objects or tuples and conversions from/to CSV fileI was just getting all depressed realizing that I'd probably have to write a syntax extension in camlp4 to get reflection out of O'Caml. Then I discovered that someone just did recently. This serves both as a practical implementation of reflection for a statically-typed language and as a showcase for O'Caml/camlp4's ability to define new syntax. By Paul Snively at 2006-05-08 04:32 | General | Implementation | login or register to post comments | other blogs | 5484 reads
Typed Concurrent Programming with Logic VariablesTyped Concurrent Programming with Logic Variables
You may want to compare this with The Oz Programming Model (OPM), which
Another paper on OPM is The Operational Semantics of Oz. In short, the model of Plain is based on that of Oz with the main differences being:
By Andris Birkmanis at 2006-05-05 08:33 | Functional | Logic/Declarative | Object-Functional | Semantics | Type Theory | 4 comments | other blogs | 8615 reads
Open data types and open functions
Open data types and open functions
(pdf)
by Andres Löh and Ralf Hinze Abstract: In object-oriented languages, it is easy to extend data by defining new classes, but it is difficult to add new functions. In functional languages, the situation is reversed: adding new functions poses no problems, but extending data (adding new data constructors) requires modifying existing code. The problem of supporting both directions of extensibility is known as the expression problem. We present open data types and open functions as a lightweight solution to the expression problem in the Haskell language. The idea is that constructors of open data types, and equations of open functions can appear scattered throughout a program. In particular, they may reside in different modules. The intended semantics is as follows: the program should behave as if the data types and functions were closed, defined in one place. The order of function equations is determined by best-fit pattern matching, where a specific pattern takes precedence over an unspecific one. We show that our solution is applicable to the expression problem, generic programming, and exceptions. We sketch two implementations. A simple one, derived from the semantics, and one based on mutually recursive modules that permits separate compilation.This (draft) paper was mentioned at the Spring School on Datatype-Generic Programming (discussed previously on LtU) where it received considerable interest. SERIESUser Manual for the Series Macro Package by Richard C. Waters (MIT AI Memo 1082, 1989).
There is an up-to-date copy of the Series package on Sourceforge. A note on distributed computingA note on distributed computing by Samuel C. Kendall, Jim Waldo, Ann Wollrath and Geoff Wyant (1994).
This is a classic. A Monadic Semantics for Core CurryA Monadic Semantics for Core Curry
While being primarily an "interpreter as semantics" paper, it looks like a nice example of a DSL in Haskell. As a bonus, it also discusses some features of logic programming. By Andris Birkmanis at 2006-05-03 08:41 | DSL | Implementation | Logic/Declarative | Semantics | login or register to post comments | other blogs | 6832 reads
Proofs are Programs: 19th Century Logic and 21st Century ComputingProofs are Programs: 19th Century Logic and 21st Century Computing
This paper by Philip Wadler was a Dr Dobbs article in 2000 and has a matching a Netcast interview. For more of Wadler's writings along these lines check out his History of Logic and Programming Languages paper collection. edit: fixed the dr dobbs article link By shapr at 2006-05-02 17:38 | History | Theory | Type Theory | 41 comments | other blogs | 17981 reads
Natural Language Programming for Interactive FictionAfter years of effort, Graham Nelson has released version 7 of the Inform language. Inform is the language created by Infocom for the construction of interactive fiction games, such as the legendary Zork series. This latest edition of the language is notable in that it is based on a subset of English, and reads like natural-language descriptions. For example:
These declarations create not only the terms used, but the relations between the terms. Conditions can later be tested using the domain-specific terms thus created ( This Is the Title of This Story, Which Is Also Found Several Times in the Story ItselfThis is the first sentence of this story. This is the second sentence. This is the title of this story, which is also found several times in the story itself. This sentence is questioning the intrinsic value of the first two sentences. This sentence is to inform you, in case you haven't already realized it, that this is a self-referential story, that is, a story containing sentences that refer to their own structure and function. This is a sentence that provides an ending to the first paragraph. By Klaus Ostermann at 2006-05-01 16:32 | Fun | Meta-Programming | 10 comments | other blogs | 17961 reads
Links: Web Programming Without TiersLinks: Web Programming Without Tiers. Ezra Cooper, Sam Lindley, Philip Wadler, Jeremy Yallop.
Links is related to many of the recent discussions (here's one), and was discussed here a few times in the past. This paper is a nice overview, and a good place to start if you haven't looked at Links before. It would be nice (and, I think, productive) to have Erik and Philip, who both guest blog here on occasion, discuss their different PL based approaches to web programming here on LtU! What better place to discuss web programming?! |
Browse archives
Active forum topics |
Recent comments
2 weeks 2 days ago
2 weeks 3 days ago
2 weeks 5 days ago
2 weeks 5 days ago
3 weeks 3 days ago
3 weeks 3 days ago
3 weeks 3 days ago
6 weeks 3 days ago
7 weeks 2 days ago
7 weeks 2 days ago